#include "enter_ad.h"
#include "ui_enter_ad.h"
//下面两个头文件组成model/view模式帮助显示表格数据
//从model发出的信号通知view数据源中的数据发生了改变。
//从view发出的信号提供了有关被显示的数据项与用户交互的信息。
#include<QSqlQueryModel>
#include<QTableView>
/*
Qt提供了两个标准的models:QStandardItemModel和QDirModel。QStandardItemModel是一个多用途的
model，可用于表示list,table,tree views所需要的各种不同的数据结构。这个model也持有数据。
*/

Enter_ad::Enter_ad(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Enter_ad)
{
    ui->setupUi(this);

}

Enter_ad::~Enter_ad()
{
    delete ui;
}



//返回管理员登录界面
void Enter_ad::on_return_2_clicked()
{
    emit display(2);
}

//添加学生信息窗口
void Enter_ad::on_pushButton2_clicked()
{

    //新建一个窗口对象，this指定了新窗口的父对象是enter_ad
    //enter_ad销毁时add_st也会随即销毁
    add=new add_st(this);

    add->setWindowTitle("学生录入");
    add->show();

}

//查看学生信息窗口
void Enter_ad::on_pushButton1_clicked()
{
    //设置学生信息窗口的子窗口对象inf(查看学生信息窗口),继承this
    inf=new st_inf(this);
    inf->setWindowTitle("查看学生");

    //QSqlQueryModel结合QTableView显示数据
    QSqlQueryModel*model=new QSqlQueryModel;
    model->setQuery("select * from st");

    //设置表格头部信息
    model->setHeaderData(0,Qt::Horizontal,QObject::tr("学号"));
    model->setHeaderData(1,Qt::Horizontal,QObject::tr("姓名"));
    model->setHeaderData(2,Qt::Horizontal,QObject::tr("性别"));
    model->setHeaderData(3,Qt::Horizontal,QObject::tr("年龄"));

    inf->ui->tableView->setModel(model);
    inf->show();
}





void Enter_ad::on_button3_clicked()
{
    emit display(5);
}
